How to Run a Cuckoo Chain Node?
This guide provides step-by-step instructions for running a Cuckoo node on your local machine.
Prerequisites
Before you begin, ensure you have the latest Docker image:
offchainlabs/nitro-node:v2.3.4-b4cc111
Minimum Hardware Configuration
Component | Requirement |
---|---|
RAM | 8-16 GB |
CPU | 2-4 core CPU (For AWS: t3 xLarge) |
Storage | Depends on traffic volume |
Running a Cuckoo Node on Mainnet
Step-by-Step Instructions
-
Create a Directory for Chain States
mkdir -p ~/cuckoo-chain
-
Run the Node
docker run --rm -it -v ~/cuckoo-chain:/home/user/.arbitrum \
-p 0.0.0.0:8547:8547 \
-p 0.0.0.0:8548:8548 \
offchainlabs/nitro-node:v2.3.3-6a1c1a7 \
--parent-chain.connection.url=https://arbitrum-one-rpc.publicnode.com \
--chain.id=1200 \
--chain.name="Cuckoo Chain" \
--http.api=net,web3,eth \
--http.addr=0.0.0.0 \
--execution.forwarding-target=https://mainnet-rpc.cuckoo.network \
--node.data-availability.enable \
--node.data-availability.rest-aggregator.enable \
--node.data-availability.rest-aggregator.online-url-list=https://cuckoo.network/mainnet-das-servers \
--node.feed.input.url=wss://mainnet-sequencer-feed.cuckoo.network \
--chain.info-json="[{\"chain-id\":1200,\"parent-chain-id\":42161,\"parent-chain-is-arbitrum\":true,\"chain-name\":\"Cuckoo Chain\",\"chain-config\":{\"homesteadBlock\":0,\"daoForkBlock\":null,\"daoForkSupport\":true,\"eip150Block\":0,\"eip150Hash\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"eip155Block\":0,\"eip158Block\":0,\"byzantiumBlock\":0,\"constantinopleBlock\":0,\"petersburgBlock\":0,\"istanbulBlock\":0,\"muirGlacierBlock\":0,\"berlinBlock\":0,\"londonBlock\":0,\"clique\":{\"period\":0,\"epoch\":0},\"arbitrum\":{\"EnableArbOS\":true,\"AllowDebugPrecompiles\":false,\"DataAvailabilityCommittee\":true,\"InitialArbOSVersion\":11,\"GenesisBlockNum\":0,\"MaxCodeSize\":24576,\"MaxInitCodeSize\":49152,\"InitialChainOwner\":\"0x15c7C3E9673F8900Ac66Dd040aCF2169E79429A3\"},\"chainId\":1200},\"rollup\":{\"bridge\":\"0x6a075fbDFEd3d18bCdc62668fE0f02c639144ed8\",\"inbox\":\"0x2b25AAC8ef6F1a405E824C257a349b79c79Ed45c\",\"sequencer-inbox\":\"0x43c51b92bA8b9e89484D5eFa4a87Fa7526793b04\",\"rollup\":\"0xfEE1e4386fee1E337178ce0814e7959b9E67b5F5\",\"validator-utils\":\"0x6c21303F5986180B1394d2C89f3e883890E2867b\",\"validator-wallet-creator\":\"0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF\",\"deployed-at\":222314851}}]" -
Check Node Status
Verify that the node is running and check the block height with the following command:
curl -X POST http://localhost:8547/ \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
Shutting Down the Node
To ensure the current state is saved properly, allow a graceful shutdown:
docker stop --time=300 $(docker ps -aq)